# 네트워크 성능 분석명령어

# 네트워크 성능 분석명령어는 왜 알아보나요?

애플리케이션 코드 상에는 문제가 없는데 사용자가 서비스로부터 데이터를 가져오지 못하는 상황이 발생하기도 합니다. 이는 네트워크 병목 현상으로 인해 발생한 문제일 가능성이 있습니다. 그래서 네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 문제가 네트워크로부터 발생한 것인지 확인한 후 네트워크 성능 분석을 해야합니다.

병목현상의 주된 원인

  • 네트워크 대역폭
  • 네트워크 토폴로지
  • 서버 CPU, 메모리 사용량
  • 비효율적인 네트워크 구성

# ping

  • ping(Packet INternet Groper)은 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어입니다.
  • 해당 노드의 패킷 수신 상태와 도달하기까지 시간등을 알 수 있습니다.
  • 해당 노드까지 네트워크가 잘 연결되어 있는지 확인할 수 있습니다.
  • ping [도메인주소 or IP 주소] 로 실행합니다.
    ping_test

ping 사용이 불가능할 때!

ICMP 프로토콜을 지원하지 않는 기기나 ICMP나 traceroute를 차단하는 대상으로는 실행할 수 없습니다.

# netstat

  • netstat명령어는 접속되어 있는 서비스들의 네트워크 상태를 표시하는데 사용됩니다.
  • 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줍니다.
  • 서비스의 포트가 열려 있는지 확인할 때 사용합니다.
    netstat

# nslookup

  • DNS에 관련된 내용을 확인하기 위해 쓰는 명령어입니다.
  • 특정 도메인에 매핑된 IP를 확인할 때 사용합니다.
    nslookup

# tracert

  • 윈도우에서는 tracert, 리눅스에서는 traceroute라는 명령어로 구동됩니다.
  • 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어입니다.
  • 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 등을 확인 할 수 있습니다.
    tracert

# 그외

  • ftp를 통한 대형 파일 전송 테스트
  • tcpdump를 통한 패킷 캡쳐
  • wireshark, netmon 등의 네트워크 분석 프로그램

# 참고자료

  • 주홍철.면접을 위한 CS 전공지식 노트.서울:길벗,2022.